package com.example.midprojcampusspringboot.common;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * Restful风格返回结果封装类
 **/

@Data
@AllArgsConstructor
@NoArgsConstructor
public class ResultUtil {

    private Integer code;

    private String msg;

    private Object data;

    /**
     * 设置静态方法 -- 返回显示成功的参数
     *
     */
    // 返回的是200，“操作成功”，和自定义的数值
    public static ResultUtil success(Object data){
        return new ResultUtil(200,"操作成功",data);
    }

    // 方法进行重载 -- 根据具体情况具体返回想要的数据,不返回data,仅需要返回一个显示“操作成功”的字样
    public static ResultUtil success(){
        return new ResultUtil(200,"操作成功",null);
    }

    // 返回自定义的msg
    public static ResultUtil success(String msg, Object data){
        return new ResultUtil(200,msg,data);
    }

    /**
     * 返回显示失败的参数
     *
     */
    // 操作失败不想返回data
    public static ResultUtil error(){ return new ResultUtil(500,"操作失败",null); }

    // 返回自定义的data和msg
    public static ResultUtil error(Object data,String msg){ return new ResultUtil(500,msg,data); }

    // 返回自定义的msg
    public static ResultUtil error(String msg){
        return new ResultUtil(500,msg,null);
    }

}
